package com.tan00xu.controller;

import com.tan00xu.service.TagService;
import com.tan00xu.utils.CmdOutputInformationUtils;
import com.tan00xu.vo.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/tag")
public class TagController {

    @Autowired
    private TagService tagService;

    /**
     * 获取热门标签
     *
     * @return
     */
    @GetMapping("hotTags")
    public Result hotTags() {
        CmdOutputInformationUtils.info("TagsController下的hotTags被请求了=>获取热门标签");
        int limit = 6;
        return tagService.listHotTags(limit);
    }

    /**
     * 获取所有的文章标签
     *
     * @return Result
     */
    @GetMapping("/listAllTags")
    public Result listAllTags() {
        CmdOutputInformationUtils.info("TagsController下的listAllTags被请求了=>获取文章的所有的标签");
        return tagService.listAllTags();
    }

    /**
     * 获取所有的文章标签的详细信息
     *
     * @return Result
     */
    @GetMapping("/listAllTagsDetail")
    public Result listAllTagsDetail() {
        CmdOutputInformationUtils.info("TagsController下的listAllTagsDetail被请求了=>获取所有的文章标签的详细信息");
        return tagService.listAllTagsDetail();
    }

    /**
     * 根据标签id获取标签详细信息
     * @return Result
     */
    @GetMapping("/getTagDetailByTagId/{tagId}")
    public Result getTagDetailByTagId(@PathVariable("tagId") Long tagId) {
        CmdOutputInformationUtils.info("TagsController下的getTagDetailByTagId被请求了=>根据标签id获取标签详细信息");
        return tagService.getTagDetailByTagId(tagId);
    }



}
